package com.shensi.adminCollect.service.markert;

import com.shensi.adminCollect.domain.markert.ReductionActivity;
import com.shensi.adminCollect.domain.markert.vo.ReductionDisVo;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * 立减活动Service接口
 * 
 * @author qujia
 * @date 2021-11-02
 */
public interface IReductionActivityService 
{
    /**
     * 查询立减活动
     * 
     * @param activityId 立减活动ID
     * @return 立减活动
     */
    public ReductionActivity selectReductionActivityById(Long activityId);

    /**
     * 查询立减活动列表
     * 
     * @param reductionActivity 立减活动
     * @return 立减活动集合
     */
    public List<ReductionActivity> selectReductionActivityList(ReductionActivity reductionActivity);

    /**
     * 新增立减活动
     * 
     * @param reductionActivity 立减活动
     * @return 结果
     */
    public int insertReductionActivity(ReductionActivity reductionActivity);

    /**
     * 新增立减活动和规则
     *
     * @param params 立减活动
     * @return 结果
     */
    public Long insertReductionActivity(Map<String,Object> params) throws ParseException;

    /**
     * 修改立减活动
     * 
     * @param reductionActivity 立减活动
     * @return 结果
     */
    public int updateReductionActivity(ReductionActivity reductionActivity);

    /**
     * 批量删除立减活动
     * 
     * @param activityIds 需要删除的立减活动ID
     * @return 结果
     */
    public int deleteReductionActivityByIds(Long[] activityIds);

    /**
     * 删除立减活动信息
     * 
     * @param activityId 立减活动ID
     * @return 结果
     */
    public int deleteReductionActivityById(Long activityId);

    /**
     * 查询立减活动的完整信息
     *
     * @param activityId 立减活动规则ID
     * @return 结果
     */
    public Map<String,Object> selectActivityInfoByActivityId(Long activityId);

    /**
     * 根据登录用户查询立减活动
     * @param activity
     * @return
     */
    List<ReductionActivity> selectActivityByLoginUser(ReductionActivity activity);

    ReductionDisVo selectReductionAmt(String amt, String stationId, String oilName, String oilLiters, String mobilePhone);

    int changeActivityEnabled(Long id);
}
